https://www.autoitscript.com/forum/topic/114143-vlc-media-player-udf/

This UDF allows users to create and manipulate a VLC control within an AutoIT GUI.

This UDF is a continuation of the outdated work done by j_stam_84 back in 2006. Here is a link to his topic -> VLC Media Player. That UDF utilises an older version of the VLC ActiveX object that is no longer supported in versions of VLC greater than 0.8.5. My UDF works with the current version of VLC at the time of writing this topic (version 1.0.5).

There have been many attempts to create VLC controls for AutoIT, and have them embed successfully in AutoIT GUIs. The biggest issue has been that the VLC ActiveX object doesn't seem to work if created in an AutoIT GUI using the GUICtrlCreateObj function. The Help page on GUICtrlCreateObj also states "Not every (ActiveX) control can be embedded (inside an AutoIT GUI).".

So far j_stam_84 seems to have been the only person in the forums to go the path of creating the VLC ActiveX object within an embedded Webbrowser object. This approach works with AutoIT, and is the reason for the success of this UDF.

The main reason I created this UDF was to provide users with a free video playback solution for their AutoIT GUIs that supports the maximum number of codecs possible. VLC player has been well known for some time for it's support and compatibility with a wide range of video formats. Media Player Classic is also a popular choice of video player for the same reasons, though it unfortunately doesn't provide an ActiveX or COM object for use in an AutoIT GUI. Other media player UDFs exist, such as Windows Media Player UDFs, though I still favour the performance and better support of codecs that VLC player provides.

The example below also remembers the video that was playing when the example is closed, so that next time the script is run, the same video is automatically played.

REQUIREMENTS:

    AutoIt3 3.2 or higher
    A VLC version greater than 0.8.5 installed
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

LIST OF FUNCTIONS:

_GUICtrlVLC_Create($left, $top, $width, $height)
_GUICtrlVLC_PlaylistAdd($vlc, $path)
_GUICtrlVLC_Play($vlc, $item)
_GUICtrlVLC_Pause($vlc)
_GUICtrlVLC_Stop($vlc)
_GUICtrlVLC_Clear($vlc)
_GUICtrlVLC_SeekRelative($vlc, $time)
_GUICtrlVLC_SeekAbsolute($vlc, $time)
_GUICtrlVLC_GetState($vlc)
_GUICtrlVLC_GetLength($vlc)
_GUICtrlVLC_GetMute($vlc)
_GUICtrlVLC_GetTime($vlc)
_GUICtrlVLC_GetVolume($vlc)
_GUICtrlVLC_SetMute($vlc, $toggle)
_GUICtrlVLC_SetVolume($vlc, $level)
_VLCErrorHandlerRegister($s_functionName = "__VLCInternalErrorHandler")

__VLCInternalErrorHandler()
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

EXAMPLE:

The following example demonstrates how the VLC UDF can be used to create an embedded video player in an AutoIT GUI. On running the script, the user may select a video to play, whereupon playback will commence immediately. Using the keyboard or GUI buttons, the user may skip forward and backward through the video (using the arrow keys), and pause and unpause playback (spacebar), all in realtime. Whilst the video is paused, the Rewind and FForward functions also work. A progress slider always indicates the playback position of the video, and the user may drag the slider anytime to a different location in the video. The video will automatically loop back to the start if it reaches the end.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Latest Version - v0.3 (17/05/10)